namespace KinonekoSoftware.CodariaDB.Documents.Templates
{
    /// <summary>
    /// <see cref="AbilityInstanceTemplateGenerator"/> 类型表示一个技能设定的模板创建器。
    /// </summary>
    /// <remarks>
    /// <para>此模板包含的模组有：</para>
    /// <para>1. 基本信息（Basic_Custom）</para>
    /// <para>2. 设卡模组（Modules）</para>
    /// <para>3. 剧情模组（Story）</para>
    /// </remarks>
    public sealed class AbilityInstanceTemplateGenerator : InstanceTemplateGenerator
    {
        protected override void OnInitializeDefinitions(ICollection<DataPartDefinition> collection)
        {
            // TODO:
            Define(collection, DataPartType.Basic_Custom, 0);
            Define(collection, DataPartType.Modules, 1);
            Define(collection, DataPartType.Detail_Common_BulkProperties, 2);
            Define(collection, DataPartType.Story, 3);
        }

        protected override void OnInitializeProperties(ICollection<CompositeItem> collection)
        {
        }

        public override InstanceType TargetType => InstanceType.Ability;
    }
}